home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Input 64
/
Input_64_85-04_1985_Verlag_Heinz_Weise_de.d64
/
S H O R T - S
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2023-02-26
|
6KB
|
111 lines
5 ifpeek(50307)<>120then10
6 a=50257:pokea,8:pokea+2,118:pokea+3,026:pokea+4,117:pokea+5,032
10 poke53280,1:poke53281,1:printchr$(142)chr$(8)
20 print"[147][156] ";
30 print" s h o r t s a v e ";
40 print"[156] "
50 print"[149] von holger gehrmann deutschland, 1985"
60 print"[144]bitte waehlen sie:"
70 print" 1 [146] was ist shortsave? (kurzerklaerung)
80 [153]" 2 wait wie arbeitet shortsave?
90 print" 3 [146] wie kann ich shortsave fuer eigene
100 [153]" programme anwenden?"
120 [153]"stopwenn sie ctrl+s druecken, wird nur das
130 print"eigentliche shortsave-tool abgesaved,
140 [153]"nicht dieses demo-programm!"
150 [153]:[153]"verify holger gehrmann, heinrichstr. 25
160 print" 3000 hannover 1, tel:0511/344771"
180 getr$:r=val(r$):ifr<1orr>3then180
185 a$="[147][144]input 64 shortsave by holger gehrmann[149]"
190 onrgoto200,400,900
200 rem 1.was ist shortsave (kurzerkl.)
210 printa$;"[146]shortsave verkuerzt [149]programme.
220 [153]"bevor man ein programm abspeichert, ruft";
230 [153]"man die shortsave-verkuerzungsroutine
240 print"auf, die das programm in einen speziel-"
250 print"len code veraendert (nicht list- oder
260 [153]"run-faehig, nur zum abspeichern geeig-"
270 [153]"net).
275 print"dieses nunmehr verkuerzte programm"
280 print"saved man normal ab."
290 print"[151]wenn man nun dieses verkuerzte programm"
300 print"wieder laedt, muss man nach beendetem"
310 print"ladevorgang die shortsave-normalisie-"
320 print"rungsroutine aufrufen, die das programm"
330 print"wieder in die original-laenge umaendert.";
340 print"das programm ist dann wie vorher"
350 print"lauffaehig."
360 print" taste druecken! [146]":poke198,0:wait198,1:poke198,0:run
400 rem 2.wie arbeitet shortsave
410 printa$;"[146]man ueberlegt sich natuerlich,wie short-";
420 print"save beliebige programme einfach kuerzer";
430 print"machen kann. es funktioniert so:"
440 print"[151]in allen programmen kommt es automatisch";
450 print"vor, dass mehrere gleiche bytes hinter-"
460 print"einander im speicher abgelegt sind."
470 print"[152]beispiel: irgendwo im speicher stehen
480 [153]"hintereinander 20 nullen. normalerweise"
490 [153]"saved man nun alle 20 nullen ab, das
500 print"nimmt 20 byte ein. shortsave zaehlt die
510 [153]"nullen und legt lediglich im speicher"
520 [153]"ab, welches byte wie oft im speicher"
530 [153]"steht (in diesem falle 0 und 20, byte"
540 [153]"null, anzahl 20)."
550 [153]"das nimmt nur ganze 2 byte ein!"
560 [153]"stop taste druecken! wait":[151]198,0:[146]198,1:[151]198,0
570 [153]a$;"waitclralle anderen zeichen werden normal im"
580 [153]"speicher abgelegt."
590 [153]"die shortsave-normalisierungsroutine"
600 [153]"wandelt den programmcode, in dem bytes,"
610 [153]"die in groesserer zahl hintereinander"
620 [153]"auftreten, wie schon erklaert als nur 2"
630 [153]"bytes abgespeichert sind, wieder in die"
640 [153]"herkoemmliche abspeicherungsart um."
650 [153]"pokevor jedem 'byte + anzahl' steht dann"
660 [153]"noch ein spezialcode, ein h und ein g,"
670 [153]"damit die rueckwandelroutine weiss, wann";
680 [153]"ein normal abgespeichertes byte kommt
690 print"und wann eins mit anzahl."
700 print" taste druecken! [146]":wait198,1:poke198,0
710 printa$;"[146]beispiel:"
720 print"[151]speicherinhalt vor umwandlung:"
730 print"[149]nubioybyuuuuuuuuuuuuuuuuuuuuurwrtcweax"
740 print"[152]speicherinhalt nach umwandlung durch shortsave:"
750 print"[149]nubioybyhgu21rwrtcweax"
760 print"anstelle der 21 u's steht im speicher"
770 print"nur noch hgu21."
780 print"stehen die zeichen h und g jedoch schon"
790 print"irgendwo im unumgewandelten programm, so";
800 print"ist dieses nicht wandlungsfaehig, die
810 [153]"rueckwandelroutine kaeme sonst durchein-";
820 [153]"ander (sie sieht h und g als spezial-
830 print"code fuer 'byte + anzahl' an).
840 [153]"in solchen faellen gibt die shortsave-"
850 [153]"verkuerzungsroutine die meldung
860 print"cannot do that aus."
870 print"[144] taste druecken! [146]":poke198,0:wait198,1:poke198,0:run
900 rem 3.shortsave in eigenen pgmen
910 printa$;"[146][151]um eigene programme in verkuerzter form"
920 print"auf diskette oder kassette zu saven,
930 [153]"gehen sie folgendermassen vor:"
940 [153]" 1. shortsave-tool laden
990 print" 2. shortsave-tool starten (run)
1000 [153]" 3. eigenes programm laden
1010 print" 4. shortcode-sys eingeben (sys40497)
1020 [153]"(warten, bis das programm verkuerzt ist)
1030 print" 5. 'clr' eingeben
1040 [153]" 6. eigenes programm saven (auf diskette"
1050 [153]" mit ,8,1 auf kassette mit ,1,1)"
1060 [153]"stop taste druecken! wait":[151]198,0:[146]198,1:[151]198,0
1070 [153]a$;"waitpokeum verkuerzte programme von kassette bzw";
1080 [153]"diskette zu laden, muessen sie:"
1090 [153]" 1. shortsave-tool laden."
1100 [153]" 2. shortsave-tool starten"
1110 [153]" 3. eigenes programm laden (von diskette"
1115 [153]" mit ,8,1 von kassette mit ,1,1)"
1120 [153]" 4. normalcode-sys eingeben (sys39936)
1130 print"(warten, bis das programm wieder die ur-spruengliche laenge hat)
1140 [153]" 5. 'clr' eingeben
1150 print" 6. eigenes programm starten
1160 [153]"stop taste druecken! wait":[151]198,0:[146]198,1:[151]198,0:[138]